package com.example.demo.utils;

import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

/**
 * 随机生成验证码工具类
 */
public class ValidateCodeUtils {
    /**
     * 随机生成验证码
     * @param length 长度为4位或者6位
     */
    public static Integer generateValidateCode(int length){
        Integer code;

        // 长度为4
        if(length == 4){
            code = new Random().nextInt(9999);//生成随机数，最大为9999
            if(code < 1000){
                code = code + 1000;//保证随机数为4位数字
            }

        // 长度为6
        }else if(length == 6){
            code = new Random().nextInt(999999);//生成随机数，最大为999999
            if(code < 100000){
                code = code + 100000;//保证随机数为6位数字
            }
        // 其他情况
        }else{
            throw new RuntimeException("只能生成4位或6位数字验证码");
        }
        System.out.println(code);
        return code;
    }

    // 存储验证码
    public static final ConcurrentMap<String,Integer> codeMap = new ConcurrentHashMap<>();

    // 表示号码是否被注册 （默认注册）
    public static boolean flag = true;
}
